{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The analysis of cosmetic products. The dataset comes from http://makeup-api.herokuapp.com/. \n",
    "\n",
    "Variables:\n",
    "* Brand(text: name of the brand)\n",
    "* Category(text: category of products)\n",
    "* Currency(text)\n",
    "* Description (text: product description)\n",
    "* Id (numeric)\n",
    "* Name(numeric: name of the product)\n",
    "* Price(numeric: product price)\n",
    "* Price sign(text)\n",
    "* Product type(text)\n",
    "* Rating(numeric)\n",
    "* Tag list(text)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>currency</th>\n",
       "      <th>description</th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>price_sign</th>\n",
       "      <th>product_type</th>\n",
       "      <th>rating</th>\n",
       "      <th>tag_list</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>pencil</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Lippie Pencil A long-wearing and high-intensit...</td>\n",
       "      <td>1048</td>\n",
       "      <td>Lippie Pencil</td>\n",
       "      <td>5.0</td>\n",
       "      <td>$</td>\n",
       "      <td>lip_liner</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Blotted Lip Sheer matte lipstick that creates ...</td>\n",
       "      <td>1047</td>\n",
       "      <td>Blotted Lip</td>\n",
       "      <td>5.5</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Lippie Stix Formula contains Vitamin E, Mango,...</td>\n",
       "      <td>1046</td>\n",
       "      <td>Lippie Stix</td>\n",
       "      <td>5.5</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>liquid</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Developed for the Selfie Age, our buildable fu...</td>\n",
       "      <td>1045</td>\n",
       "      <td>No Filter Foundation</td>\n",
       "      <td>12.0</td>\n",
       "      <td>$</td>\n",
       "      <td>foundation</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>boosh</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>All of our products are free from lead and hea...</td>\n",
       "      <td>1044</td>\n",
       "      <td>Lipstick</td>\n",
       "      <td>26.0</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Organic', 'Chemical Free']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       brand  category currency  \\\n",
       "0  colourpop    pencil      CAD   \n",
       "1  colourpop  lipstick      CAD   \n",
       "2  colourpop  lipstick      CAD   \n",
       "3  colourpop    liquid      CAD   \n",
       "4      boosh  lipstick      CAD   \n",
       "\n",
       "                                         description    id  \\\n",
       "0  Lippie Pencil A long-wearing and high-intensit...  1048   \n",
       "1  Blotted Lip Sheer matte lipstick that creates ...  1047   \n",
       "2  Lippie Stix Formula contains Vitamin E, Mango,...  1046   \n",
       "3  Developed for the Selfie Age, our buildable fu...  1045   \n",
       "4  All of our products are free from lead and hea...  1044   \n",
       "\n",
       "                   name  price price_sign product_type  rating  \\\n",
       "0         Lippie Pencil    5.0          $    lip_liner     NaN   \n",
       "1           Blotted Lip    5.5          $     lipstick     NaN   \n",
       "2           Lippie Stix    5.5          $     lipstick     NaN   \n",
       "3  No Filter Foundation   12.0          $   foundation     NaN   \n",
       "4              Lipstick   26.0          $     lipstick     NaN   \n",
       "\n",
       "                       tag_list  \n",
       "0     ['Vegan', 'cruelty free']  \n",
       "1     ['Vegan', 'cruelty free']  \n",
       "2     ['Vegan', 'cruelty free']  \n",
       "3     ['Vegan', 'cruelty free']  \n",
       "4  ['Organic', 'Chemical Free']  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('C:\\Python Scripts\\API_data analyst\\products_final.csv', header=0,index_col=0)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data exploration\n",
    "##### First observations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "brand            object\n",
       "category         object\n",
       "currency         object\n",
       "description      object\n",
       "id                int64\n",
       "name             object\n",
       "price           float64\n",
       "price_sign       object\n",
       "product_type     object\n",
       "rating          float64\n",
       "tag_list         object\n",
       "dtype: object"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# data type\n",
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 931 entries, 0 to 930\n",
      "Data columns (total 11 columns):\n",
      "brand           919 non-null object\n",
      "category        507 non-null object\n",
      "currency        368 non-null object\n",
      "description     906 non-null object\n",
      "id              931 non-null int64\n",
      "name            931 non-null object\n",
      "price           917 non-null float64\n",
      "price_sign      368 non-null object\n",
      "product_type    931 non-null object\n",
      "rating          340 non-null float64\n",
      "tag_list        931 non-null object\n",
      "dtypes: float64(2), int64(1), object(8)\n",
      "memory usage: 87.3+ KB\n"
     ]
    }
   ],
   "source": [
    "#information about each column\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(931, 11)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['brand', 'category', 'currency', 'description', 'id', 'name', 'price',\n",
       "       'price_sign', 'product_type', 'rating', 'tag_list'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# delate diplicate rows\n",
    "df.drop_duplicates(inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cheack missing data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "brand            12\n",
       "category        424\n",
       "currency        563\n",
       "description      25\n",
       "id                0\n",
       "name              0\n",
       "price            14\n",
       "price_sign      563\n",
       "product_type      0\n",
       "rating          591\n",
       "tag_list          0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().sum()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>currency</th>\n",
       "      <th>description</th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>price_sign</th>\n",
       "      <th>product_type</th>\n",
       "      <th>rating</th>\n",
       "      <th>tag_list</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>pencil</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Lippie Pencil A long-wearing and high-intensit...</td>\n",
       "      <td>1048</td>\n",
       "      <td>Lippie Pencil</td>\n",
       "      <td>5.0</td>\n",
       "      <td>$</td>\n",
       "      <td>lip_liner</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Blotted Lip Sheer matte lipstick that creates ...</td>\n",
       "      <td>1047</td>\n",
       "      <td>Blotted Lip</td>\n",
       "      <td>5.5</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Lippie Stix Formula contains Vitamin E, Mango,...</td>\n",
       "      <td>1046</td>\n",
       "      <td>Lippie Stix</td>\n",
       "      <td>5.5</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>liquid</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Developed for the Selfie Age, our buildable fu...</td>\n",
       "      <td>1045</td>\n",
       "      <td>No Filter Foundation</td>\n",
       "      <td>12.0</td>\n",
       "      <td>$</td>\n",
       "      <td>foundation</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>boosh</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>All of our products are free from lead and hea...</td>\n",
       "      <td>1044</td>\n",
       "      <td>Lipstick</td>\n",
       "      <td>26.0</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Organic', 'Chemical Free']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       brand  category currency  \\\n",
       "0  colourpop    pencil      CAD   \n",
       "1  colourpop  lipstick      CAD   \n",
       "2  colourpop  lipstick      CAD   \n",
       "3  colourpop    liquid      CAD   \n",
       "4      boosh  lipstick      CAD   \n",
       "\n",
       "                                         description    id  \\\n",
       "0  Lippie Pencil A long-wearing and high-intensit...  1048   \n",
       "1  Blotted Lip Sheer matte lipstick that creates ...  1047   \n",
       "2  Lippie Stix Formula contains Vitamin E, Mango,...  1046   \n",
       "3  Developed for the Selfie Age, our buildable fu...  1045   \n",
       "4  All of our products are free from lead and hea...  1044   \n",
       "\n",
       "                   name  price price_sign product_type  rating  \\\n",
       "0         Lippie Pencil    5.0          $    lip_liner     NaN   \n",
       "1           Blotted Lip    5.5          $     lipstick     NaN   \n",
       "2           Lippie Stix    5.5          $     lipstick     NaN   \n",
       "3  No Filter Foundation   12.0          $   foundation     NaN   \n",
       "4              Lipstick   26.0          $     lipstick     NaN   \n",
       "\n",
       "                       tag_list  \n",
       "0     ['Vegan', 'cruelty free']  \n",
       "1     ['Vegan', 'cruelty free']  \n",
       "2     ['Vegan', 'cruelty free']  \n",
       "3     ['Vegan', 'cruelty free']  \n",
       "4  ['Organic', 'Chemical Free']  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# observations with missing data\n",
    "df[df.isnull().any(axis=1)].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "List on unique names in each column"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['pencil', 'lipstick', 'liquid', nan, 'powder', 'lip_gloss', 'gel',\n",
       "       'cream', 'palette', 'concealer', 'highlighter', 'bb_cc', 'contour',\n",
       "       'lip_stain', 'mineral'], dtype=object)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['category'].unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "List on unique values:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([nan, 5. , 4. , 4.7, 4.5, 2.5, 4.6, 4.4, 3. , 3.8, 4.8, 3.3, 4.9,\n",
       "       4.3, 2. , 2.3, 4.2, 3.5, 3.7, 3.9, 4.1, 2.6, 3.6, 3.4, 1.5, 3.2,\n",
       "       3.1])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['rating'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['colourpop', 'boosh', 'deciem', 'zorah biocosmetiques',\n",
       "       'w3llpeople', \"sally b's skin yummies\", 'rejuva minerals',\n",
       "       'penny lane organics', 'nudus', 'marienatie',\n",
       "       \"maia's mineral galaxy\", 'lotus cosmetics usa', 'green people',\n",
       "       'coastal classic creation', \"c'est moi\", 'alva', 'glossier', 'nyx',\n",
       "       'fenty', 'clinique', 'dior', 'iman', 'benefit', 'smashbox',\n",
       "       'marcelle', 'stila', 'mineral fusion', nan, 'annabelle',\n",
       "       'dr. hauschka', 'physicians formula', 'cargo cosmetics',\n",
       "       'covergirl', 'e.l.f.', 'maybelline', 'almay', 'milani',\n",
       "       'pure anada', \"l'oreal\", 'sante', 'revlon', 'anna sui',\n",
       "       'wet n wild', 'pacifica', 'mistura', 'zorah', 'suncoat', 'moov',\n",
       "       'misa', 'salon perfect', 'orly', 'china glaze', 'essie',\n",
       "       'butter london', 'sinful colours', 'piggy paint', 'dalish',\n",
       "       \"burt's bees\"], dtype=object)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['brand'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['lip_liner', 'lipstick', 'foundation', 'eyeliner', 'eyeshadow',\n",
       "       'blush', 'bronzer', 'mascara', 'eyebrow', 'nail_polish'],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['product_type'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([\"['Vegan', 'cruelty free']\", \"['Organic', 'Chemical Free']\",\n",
       "       \"['Gluten Free', 'Vegan', 'silicone free', 'oil free', 'alcohol free', 'cruelty free', 'water free']\",\n",
       "       \"['EcoCert', 'purpicks']\",\n",
       "       \"['Gluten Free', 'EWG Verified', 'purpicks']\",\n",
       "       \"['EWG Verified', 'purpicks']\",\n",
       "       \"['No Talc', 'Hypoallergenic', 'EWG Verified', 'purpicks']\",\n",
       "       \"['Organic', 'Vegan', 'EWG Verified', 'purpicks']\",\n",
       "       \"['Gluten Free', 'Vegan', 'EWG Verified', 'purpicks']\",\n",
       "       \"['Gluten Free', 'Chemical Free', 'Vegan', 'CertClean', 'purpicks']\",\n",
       "       \"['purpicks']\", \"['CertClean', 'purpicks']\",\n",
       "       \"['Gluten Free', 'Vegan', 'CertClean', 'purpicks']\",\n",
       "       \"['Organic', 'USDA Organic', 'purpicks']\",\n",
       "       \"['Organic', 'Vegan', 'purpicks']\", '[]', \"['Canadian']\",\n",
       "       \"['Canadian', 'Gluten Free', 'Vegan', 'Natural']\",\n",
       "       \"['Gluten Free', 'Natural']\", \"['Gluten Free']\",\n",
       "       \"['Canadian', 'Natural']\", \"['Vegan']\", \"['Natural']\",\n",
       "       \"['Organic', 'Natural']\",\n",
       "       \"['Canadian', 'Non-GMO', 'Gluten Free', 'Vegan', 'Natural']\",\n",
       "       \"['Canadian', 'Gluten Free']\",\n",
       "       \"['Gluten Free', 'Vegan', 'Natural']\", \"['Vegan', 'Natural']\",\n",
       "       \"['Canadian', 'Vegan', 'Natural']\",\n",
       "       \"['Canadian', 'Gluten Free', 'Vegan', 'Organic', 'Natural']\",\n",
       "       \"['Canadian', 'Dairy Free', 'Non-GMO', 'Sugar Free', 'Fair Trade', 'Gluten Free', 'Vegan', 'Natural']\",\n",
       "       \"['Canadian', 'Peanut Free Product', 'Non-GMO', 'Gluten Free', 'Natural']\",\n",
       "       \"['Canadian', 'Gluten Free', 'Organic', 'Natural']\",\n",
       "       \"['Canadian', 'Gluten Free', 'Natural']\"], dtype=object)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['tag_list'].unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Data distribution in column \"category\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "lipstick       122\n",
       "liquid         117\n",
       "powder          68\n",
       "pencil          62\n",
       "cream           34\n",
       "palette         27\n",
       "lip_gloss       26\n",
       "concealer       19\n",
       "mineral         11\n",
       "bb_cc            9\n",
       "lip_stain        4\n",
       "gel              3\n",
       "contour          3\n",
       "highlighter      2\n",
       "Name: category, dtype: int64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['category'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "lipstick    122\n",
       "liquid      117\n",
       "powder       68\n",
       "Name: category, dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['category'].value_counts()[0:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAE1CAYAAADprispAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAIABJREFUeJzt3Xe4JVWd7vHvSwbJ0CKSGhyUZABbxRxQBxQUBQMK9iDKICioXAM694KjKDqiY0QRhDahGEGMCAiCA9IEJToEEVoQWokCguB7/1i16d2nT6dTq04o3s/z7Gefql17rXX22edXq1Yq2SYiIvprmYkuQEREdCuBPiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucS6GNKkPQ8SXMmuhwRU1ECfVQj6TpJ90r6m6SbJR0nadWJLtcwSb+U9Ka+5xkxLIE+atvF9qrAdsBTgP8YeYCKfPc6ls85BvIliE7Y/hPwE2AbeKhWe7ikc4B7gM0kPVrSyZJulXS1pDcP3i9pZUnHS7pN0uWUkwZDr1vSvwxtHy/pQ0PbL5d0saQ7JV0jaUdJhwPPBj7bXHV8tgmGn5R0i6Q7JP1O0jaj/U6S1m6uUm5syvWDZv9akk6RNLfZf4qkDZvXFsiz2b+FpFOb3/33kl49lM86kn7YlP18SR+SdPbQ689o9t/RPD9j6LWRn/PBki4Y8XscPCh7PEzYziOPKg/gOuCFzc8bAZcBH2y2fwlcD2wNLAcsD5wJfB5YCXgSMBfYoTn+COBXwNpNWpcCc4byMvAvQ9vHAx9qfn4qcAfwIkplZgNgi6FyvGnoff8KXACsCQjYElh/Ib/fj4BvAWs15X9us38dYDdgFWA14NvAD4beNzLPRwA3AHs3n8V2wF+ArZvXv9k8VgG2ao49u3ltbeA2YK/mvXs02+ss5HNeEbgV2HIo/4uA3Sb6+5LH+D1So4/afiDpduBsSiD/8NBrx9u+zPYDwKOAZwHvsf132xcDx1ACGMCrgcNt32r7BuDTS1GGfYAv2z7V9j9t/8n2lQs59h+U4LwFINtX2L5p5EGS1gd2AvazfZvtf9g+E8D2X21/1/Y9tu8CDgeeu4jy7QxcZ/s42w/YvhD4LrC7pGUpJ41Dm/QuB2YNvfelwFW2v9q89wTgSmCXoWMe+pxt30c5Oe3Z/B5bA9OBUxZRvuiZBPqobVfba9rexPb+tu8deu2GoZ8fDdzaBMaBP1Jq34PXbxjx2pLaCLhmSQ60fTrwWeBzwM2Sjpa0+kLSvNX2bSNfkLSKpC9K+qOkO4GzgDWboD2aTYCnSbp98ABeTzn5TaPUxId/95Gf28jPYvhzG3k8lBPF6ySJciI9sTkBxMNEAn2Mp+GlUm8E1pa02tC+jYE/NT/fRAmuw68Nu4fStDHwqKGfbwAeswRlKDvsT9t+MqW547HAu0Z53w1Nedcc5bWDgccBT7O9OvCcZr8WkucNwJnNCXHwWNX2WyjNVw8AGw4dP/w53Eg5UQwb/twWyM/2ucD9lL6C1wFfHeV3iB5LoI8J0TTH/Br4iKSVJD2B0uTy9eaQE4FDmo7ODYG3jUjiYkotdVlJOzJ/U8mxwN6SdpC0jKQNJG3RvHYzsNngQElPkfQ0ScsDdwN/Bx4cpbw3UTqXP9+UaXlJg4C+GnAvcLuktYFDR7x9vjwpzSaPlbRXk87yTTm2tP0g8D3gsOZKYQvgDUPv/XHz3tdJWk7Sayjt+ItrivkK5crlAdtnL+bY6JkE+phIe1Dai28Evk9plz61ee0DlCaJPwA/Z8Fa6EGUdulBs8dDo0hs/4bS0flJSqfsmcyrBX+K0hZ+m6RPA6sDX6J0aP4R+Cvw8YWUdy9Km/6VwC3A25v9/w2sTOlQPRf46Yj3zZdn01z1YuC1ze/+Z+CjlI5TgLcCazT7vwqcANzX/G5/pbTxH9yU9d3Azrb/spAyD3yVMgIqtfmHIdm58UjEZCbpo8CjbM9skcbKlJPTdravqla4mBJSo4+YZJox9k9oxvg/ldKk9f2Wyb4FOD9B/uFpuYkuQEQsYDVKc82jKbXwI4GTxpqYpOsoHcO71ihcTD1puomI6Lk03URE9FwCfUREz02KNvp1113X06dPn+hiRERMKRdccMFfbE9b3HGTItBPnz6d2bNnT3QxIiKmFElLtDRImm4iInougT4ioucS6CMiei6BPiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucWO2FK0pcpNzq4xfY2zb7/otz04X7KvTn3tn1789ohlGVVHwQOtP2zsRZu+nt/tFTHX3fES8eaVUREby1Jjf54YMcR+04FtrH9BOB/gUMAJG1FuWvO1s17Pr+IGyRHRMQ4WGygt30WcOuIfT+3/UCzeS7zbmT8cuCbtu+z/QfgauCpFcsbERFLqUYb/RspN00G2IByh/uBOc2+BUjaV9JsSbPnzp1boRgRETGaVoFe0vuBB4CvD3aNctiodzaxfbTtGbZnTJu22MXXIiJijMa8eqWkmZRO2h087zZVc4CNhg7bkHKX+4iImCBjqtFL2hF4D/Ay2/cMvXQy8FpJK0raFNgc+E37YkZExFgtyfDKE4DnAetKmgMcShllsyJwqiSAc23vZ/sySScCl1OadA6w/WBXhY+IiMVbbKC3vccou49dxPGHA4e3KVRERNQzKe4wNWEOW2Mpj7+jm3JERHQoSyBERPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPLTbQS/qypFskXTq0b21Jp0q6qnleq9kvSZ+WdLWk30narsvCR0TE4i1Jjf54YMcR+94LnGZ7c+C0ZhtgJ2Dz5rEvcFSdYkZExFgtNtDbPgu4dcTulwOzmp9nAbsO7f+Ki3OBNSWtX6uwERGx9MbaRr+e7ZsAmudHNvs3AG4YOm5Os28BkvaVNFvS7Llz546xGBERsTi1O2M1yj6PdqDto23PsD1j2rRplYsREREDYw30Nw+aZJrnW5r9c4CNho7bELhx7MWLiIi2xhroTwZmNj/PBE4a2v+GZvTN9sAdgyaeiIiYGMst7gBJJwDPA9aVNAc4FDgCOFHSPsD1wKuaw38MvAS4GrgH2LuDMkdExFJYbKC3vcdCXtphlGMNHNC2UBERUU9mxkZE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FyrQC/pHZIuk3SppBMkrSRpU0nnSbpK0rckrVCrsBERsfTGHOglbQAcCMywvQ2wLPBa4KPAJ21vDtwG7FOjoBERMTZtm26WA1aWtBywCnAT8ALgO83rs4BdW+YREREtjDnQ2/4T8HHgekqAvwO4ALjd9gPNYXOADUZ7v6R9Jc2WNHvu3LljLUZERCxGm6abtYCXA5sCjwYeAew0yqEe7f22j7Y9w/aMadOmjbUYERGxGG2abl4I/MH2XNv/AL4HPANYs2nKAdgQuLFlGSMiooU2gf56YHtJq0gSsANwOXAGsHtzzEzgpHZFjIiINtq00Z9H6XS9ELikSeto4D3AOyVdDawDHFuhnBERMUbLLf6QhbN9KHDoiN3XAk9tk25ERNSTmbERET2XQB8R0XMJ9BERPZdAHxHRcwn0ERE9l0AfEdFzCfQRET2XQB8R0XMJ9BERPZdAHxHRcwn0ERE9l0AfEdFzCfQRET2XQB8R0XMJ9BERPddqPfpYtMfPevxSHX/JzEs6KklEPJylRh8R0XMJ9BERPZdAHxHRcwn0ERE9l0AfEdFzCfQRET2XQB8R0XMJ9BERPZdAHxHRc61mxkpaEzgG2AYw8Ebg98C3gOnAdcCrbd/WqpQxqiu22HKpjt/yyis6KklETGZta/SfAn5qewvgicAVwHuB02xvDpzWbEdExAQZc6CXtDrwHOBYANv3274deDkwqzlsFrBr20JGRMTYtanRbwbMBY6TdJGkYyQ9AljP9k0AzfMjR3uzpH0lzZY0e+7cuS2KERERi9Im0C8HbAccZXtb4G6WopnG9tG2Z9ieMW3atBbFiIiIRWkT6OcAc2yf12x/hxL4b5a0PkDzfEu7IkZERBtjDvS2/wzcIOlxza4dgMuBk4GZzb6ZwEmtShgREa20vfHI24CvS1oBuBbYm3LyOFHSPsD1wKta5hERES20CvS2LwZmjPLSDm3SjYiIejIzNiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucS6CMiei6BPiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucS6CMiei6BPiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucS6CMiei6BPiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucS6CMiei6BPiKi51oHeknLSrpI0inN9qaSzpN0laRvSVqhfTEjImKsatToDwKuGNr+KPBJ25sDtwH7VMgjIiLGqFWgl7Qh8FLgmGZbwAuA7zSHzAJ2bZNHRES007ZG/9/Au4F/NtvrALfbfqDZngNsMNobJe0rabak2XPnzm1ZjIiIWJgxB3pJOwO32L5gePcoh3q099s+2vYM2zOmTZs21mJERMRiLNfivc8EXibpJcBKwOqUGv6akpZravUbAje2L2ZERIzVmGv0tg+xvaHt6cBrgdNtvx44A9i9OWwmcFLrUkZExJh1MY7+PcA7JV1NabM/toM8IiJiCbVpunmI7V8Cv2x+vhZ4ao10IyKivcyMjYjouQT6iIieS6CPiOi5BPqIiJ6r0hkb/fS5/U5fquMP+MILOipJRLSRGn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPZa2bmDBHvmbnpTr+4G+d0lFJIvotNfqIiJ5LjT56a857f7VUx294xLM7KknExEqNPiKi5xLoIyJ6LoE+IqLnEugjInougT4ioucS6CMiem7MgV7SRpLOkHSFpMskHdTsX1vSqZKuap7XqlfciIhYWm1q9A8AB9veEtgeOEDSVsB7gdNsbw6c1mxHRMQEGXOgt32T7Qubn+8CrgA2AF4OzGoOmwXs2raQERExdlXa6CVNB7YFzgPWs30TlJMB8MiFvGdfSbMlzZ47d26NYkRExChaB3pJqwLfBd5u+84lfZ/to23PsD1j2rRpbYsREREL0WqtG0nLU4L8121/r9l9s6T1bd8kaX3glraFjJiMDjvssE6Pj6ilzagbAccCV9j+xNBLJwMzm59nAieNvXgREdFWmxr9M4G9gEskXdzsex9wBHCipH2A64FXtStiRES0MeZAb/tsQAt5eYexphsREXVlZmxERM8l0EdE9FwCfUREzyXQR0T0XAJ9RETPJdBHRPRcAn1ERM8l0EdE9FwCfUREzyXQR0T0XKvVKyOiG6ed/pilOn6HF1zTUUmiD1Kjj4jouQT6iIieS9NNxMPQo864ePEHDfnz85/UUUliPKRGHxHRcwn0ERE9l0AfEdFzCfQRET2XQB8R0XMJ9BERPZdAHxHRcxlHHxHVTX/vj5bq+OuOeGlHJQlIjT4iovdSo4+IKafzK4bD1ljK4+9YuuPHWWr0ERE911mNXtKOwKeAZYFjbB/RVV4REVPJ42c9fqmOv2TmJa3y66RGL2lZ4HPATsBWwB6Stuoir4iIWLSumm6eClxt+1rb9wPfBF7eUV4REbEIsl0/UWl3YEfbb2q29wKeZvutQ8fsC+zbbD4O+P1SZLEu8JdKxU36SX8qpT+Vy57066e/ie1pizuoqzZ6jbJvvjOK7aOBo8eUuDTb9oyxvDfpJ/2pnP5ULnvSn7j0u2q6mQNsNLS9IXBjR3lFRMQidBXozwc2l7SppBWA1wInd5RXREQsQidNN7YfkPRW4GeU4ZVftn1ZxSzG1OST9JN+D9KfymVP+hOUfiedsRERMXlkZmxERM8l0EdE9FwCfUREz03pQC9pxYkuQ0w9ktaS9IRKaS0r6Ws10orJR9Iykp7RYfrLSvqvrtIfmDLLFEv6su03Dm2vCpwE7NAy3UsYMZlrmO3WAUHSMsDvbG/TNq1R0l57Ua/bvrVCHpsCbwOmM/Sdsf2ytmkP5bEKcDCwse03S9oceJztUyql/0vgZZTyXwzMlXSm7Xe2Sdf2g5KmSVqhWe6jGknbLSbvCyvmNQs4yPbtzfZawJHD/3Mt058GvJkFv0NjTl/SIv92tj8x1rSH0vinpCOBp7dNayHpPyjpyZLkDkfGTJlAD/xJ0lG239J8CX8EfKlCujs3zwc0z19tnl8P3FMh/cGX5beSNrZ9fY00h1xAOVEtbDbyZhXy+AFwLPBD4J8V0hvNcZTfZfAPNQf4NlAl0ANr2L5T0puA42wfKul3ldK+DjhH0snA3YOdFQLNkYt4zcALWqY/7AmDIA9g+zZJ21ZM/yTgV8AvgAcrpblapXQW5+eSdgO+11Ewvgg4SdK3mf/7871aGUyp4ZWSPgqsATwZOML2dyumfY7tZy5uX4v0TweeAvyG+f+Y1WrFXZF0nu2ndZzHbNszJF1ke9tm329tP7FS+pcALwZmAe+3fb6k31W6Yjt0tP22P9A27fEi6bfA82zf1myvDZxpe+nW0114+hfbflKNtMabpLuARwAPAH+nVKpse/VK6R83ym7XupqCKVCjl/TKoc3fAP+3ebakV1Y86z1C0rNsn93k+wzKH7eWTv7pJW1h+8qFXeZXurz/VBPMfg7cVzntgfslrUzTjCbpMcN5VfCflAl8ZzdBfjPgqhoJDwK6pEfYvntxx4+FpG0oS36vNJTvVypmcSTwa0nfofwNXg0cXjH9UyS9xPaPK6YJgKTHAkcB69nepul/eZntD9VI33anVw629+4yfZgCNfqFnO0Gqp31JD0Z+DLligHgduCNldtBNwE2t/2Lpk16Wdt3tUzzaNv7SjpjlJdtu/XlvaSPAHsB1zCv6aZK2kN5vBh4PyWY/Rx4JrC37dF+r0lF0tMpTVur2t5Y0hOBf7e9f6X0DwWeR/lsfky5z8PZtnevkf5QPltRmoMEnGb78oppD2rF9wH/oGKtWNKZwLuALw5dDV5aq09M0nNG22/7rErpd3qiAsB2HkMPYHVKe27tdN9MWQPommZ7c8o/04T/zktQ9iuBFcYhn3WAl1L6TdatnPbHmr/t8sBplKVg96yU9nmURfwuGtp3acWyX0IZIffbZns94IeVP5/tgdWGtlejLC0+4d+/JSj7+c3z8Od/ccX0fzj0OBW4Azi9YvpnUu7h0cn3x/bUGV4paZakNYe215L05Qrp7tk8v7PpxX8TsM/Qdi0HUGqpdwLYvgp4ZK3EJR0wyudTpUYJ/BZYc7FHtSDpNNt/tf0j26fY/ouk0ypm8WLbd1JOInOAx1JqgVXYvmHErlodjgD32v4n8ICk1YFbqNPJPuwo4G9D23c3+1qRtEXzvN1oj7bpN/7SNPUNmv12B26qlDa2dxl6vAjYBri5VvrAKrZ/M2LfAxXTn/xt9EO6GhUwaIfvugf/Ptv3S2VwjKTlWMSwzjF4s+3PDTaaz+fNwOcrpL0ecKWk85m/jb51R7KklYBVgHWb0VSD0UOrA49um/6Q5ZvnlwAn2L518Leo4IamT8fNaq0HAlfUShyY3ZzEv0QZmfQ3Sj9VTfMN73MZKVYjPryTcoOh0UYQ1Ro5dABlMbAtJP0J+ANl1FxX5lCCfS2dnqhgagX6ZSSt5flHBbQuv+0vNs9dj5A4U9L7gJUlvQjYn3IpWMsyw2NxVe7bu0KltEcdVVLJvwNvpwT1C5gX6O+k3He4lh9KuhK4F9i/Gdf990pp7wd8CtiAEgR+zrzhuq2onI0+0lRyviDpp8DqtmsNDR24VtKBzKvF7w9c2zZR2/s2z89vm9Yi7ErpuziD0sR1N/BCSRfYvrht4pI+w7xK2TLAkyhXubV0fqKa9J2xA5LeABwCfKfZ9SrgcNtfXfi7lir94xilhu16nb3LAPtQhviJMgLkGFf6A6jMrpsOfIHye+wH3GD74Brpd03SgbY/PWLfirarjbxprhjudJmksgolYP65VvpdaQLWkzvO45HApyk1bFP6Md5u+5aKeXQyckjSN4AZlHteiNLPcz6wBfBt2x9rmf7Moc0HgOtsn9MmzRHpb2r7D5IeASxj+67Bvmp5TJVAD52PCthtaHMl4BXAjbYPrJVHl5oTyb9TZgqLUqs8xnbrtmJJ2wOfAbakXCUsC9ztSuOImzwutL3d4va1SH954C3AYATFmcAXbP+jRZrDNb0F1PruSPoccLzt82ukN8YyHGL7Iy3e39nIIUk/A3az/bdme1VKhfAVwAW2t6qQxwqUfh2A37f53oyS9mjf/aon90nfdCNpdZcZjWsDfwa+MfTa2q4wxR/AIyZfSTqBMouvFY3DEgtNOv+kXHa37kAbxWcpdwn7NqXm9AbKqKHWJD2K0uSxctPnMtxGv0qNPBpHUdrpB30WezX73tQizdltC7WEng/sJ+k6SrPEYGhile/OEnoVMOZAD+wOPJEysmRvSesBx1QpGWwMDC8/8Q/KTbPvldT6ilDS8ygT7a6jfPYbSZrplsMrm47qrYE1NP98odUZuuqpYdIHekpg35l5U/0HRL0p/qPZnPIFaqvzJRYAJD0TOAzYhPJ3HQSDKp+P7aslLdtcIRwn6dc10gX+Ffg3yn2Fh5cMuBN4X6U8AJ7i+WfZnq4yG3TMbM9qWaYltdM45bMobXuu7206eLsYOfQN4FxJJzXbuwAnNE0hNa76j6SM2vo9PDTu/QTKDP02HkeJD2tSyjxwF2U4djWTPtDb3rl53rTLfJoJHYM1Y0y5enhP23Rt/7FJ/5mefzmF90o6hzJjs4ZjgXdQTog1h/YB3NNcul4s6WOUEQFVZg03wXKWpN1GXlVV9qCkx9i+BkBlZmyVz6np2H0PC7Y/V5lQZvuPkp5FmWx3XJPfqjXSXppitHx/ZyOHbH9Q0o+BZ1H+f/ezPbjaqtGpufwgyDf5/W/TFNiK7ZMoa9w83fb/tE1vUSZ9oB9oxlnvsLh9Y+WOpznT/RILd9j+ScX0hu1FGW3wVsrJZCNgt0W+Y+mdI+lY4NG2d2r6Y55u+9hK6b8LOEPStZRgsAlQa+r514FvUToB9wNmAnMrpT1o355BqQEeR2mC+hplXsZ4aVWj97xZwp2MHLJ9AeUE0oXZzXdz+Gq8Zl5XNyPyplNpZc+RJn1n7NA46zMonTnDbbg/sb1lpXw6XRJWHS+xIOkISifp9+hgPRqVdWg2Hq7Z1CTpJ5Qg9n7bT2zGcF/kSotqNXmsSAmWAq6sNaJn0HGmoUXSVJZAfm6l9C8GtgUu9Lwp/lUWZFuKMrzP9odbvL/TilqXmu/NAcy7YjgL+JwrLUvdNIP+ihFX4zWvcKdCjX68xll/HtgO+F2TxxMoU9v/QYWJHU2N44lN+6Rs39GuuAsYrC45YzhbKkxIkbQL8HHKiJtNJT0J+M8aE6aGrGv7REmHANh+QFKNEUOvXMhLj5GE6yyKNxiBcZOklwI3UvocarnftiUN5kjUvBKkSXMzylyAp1PWM/of4B22rwUYa5DX+E2I69J+LktOP9SHJOkgyudVwyq2WzcTL8qkD/S2P0VZPfFttj/TYVbXUWaXXgIPjfn9P7b/rUbikq4BzqWcuc+irJdRTccTUg6jrMXxyyaviyVNr5zH3ZLWYd7swO2p8xntsojXTLkCautDktag3DjlM5Qg9o4K6Q6cKOmLwJoqs53fSJ17MQz7BqXi9Ipm+7WUDse2y1OPV0WtSzNZMKj/2yj7xqqzlT0HJn3TzYCkVwE/bSYT/Ael9v2hik0TC6yXPdq+FumvSPmneTalbXULyiJVr1jkG5c8/fWAD9NBG7ea9eg1/1rxVZsOmqazz1Cmll8KTAN2r9mOO5WpzKZ+aLKd7VMrp7/APQcknWt7+0rpd11Rq07SHsDrKE02vxp6aTXgQdsvbJn+8ACQTlb2HJj0Nfoh/9f2t5vRB/9KaUo4ivY1joErJB1D6eQysCd11yt5kPJHfJByaXwzZYhZLcfTtHE32/9L6SCs0Zl5qaTXAcuq3OLvQKDW8Eqg9CVIei7z2tBrT0oZbYG6OygTalpNk9c4LDPbBPaqwR0eWkoESkf1IZRavIHXUO7iVsufJa3WVUWtI7+mjDBbl/nX6rmL0sTbyjgMAHnIVKrRX2R7W5W10S+x/Y3hGmaF9Fdi/pmTZwFH2a6yHoqkeyjLzX4C+IXtv9ZIdyj9820/ZUStu8oVicpyAe+n1CihLN/woRqfzSLa0IF6t1PTvGnyg/WFqk2TV/frob8S+ChltVNRscYn6Q/MfyvKQUCoOg9jcAXYVNQ+QqmovW/kVcTD0UIGgtwB/NF2lVUsp1KN/k9NO+ULgY82TSHVlllugtYnm0cX9qBcAu4PvKnpaT/Ldq2leDtp41ZZHO0Dtt/FvKuFmsajDR3KWvfbed40+UMp0+SfQ2k7brMeyiq2f6P5V8Osuczsx4BdbNe8wgTmzU9pRlXtT/mOmtJUUXOW9aBj/aWUCtRJkg6rmH5nujzRNgYDQS5pth9PWTRtHUn72f552wymUqB/NbAj8HHbt0tanwrriUs60fartZClCmq1Qw9NjtiCMtPx7cC7gZVrpE9ZDvZkYDOViVjTKNPOW3Fzl/q26Swi/c5vo9bocpp818vM3txFkB9hFqWDdLCw3B7AVyj/dzV0WlHrWGcn2sZ1wD62LwMGa3q9C/ggpaLz8An0tu9RWetjJ0k7AufUONMBBzXPOy/yqJYkfZeyvOnVwNmU9WLOq5jF5cD3Kcsq3AX8gNJOX8NFkk6mrHXTyV3qAZqhiVsz/+zSWjOHu5wmP9oys3u2THPwaZQ4AAAGRUlEQVTYbEnfovxNh+dI1Pz8H+f5l4g4Qy2XiBhhkRU1DS1BPgl1faLdYhDkAWxfLmlb29eq0j0TplIb/f+jLKw0+HLvSmlbrXdfxQ5Jegplwkvt5QkG6Z9IqZF9vdm1B7CW7VdVSLvzu9RL+gJlvPXzKYtd7Q78xvY+FfN4MvMmvZztedPkqwQaDS0z266kC6Q7Hp//8ZTVPM9ttp8GzHSl+94uQf7VViqtTdKngEfR0Ym2OYnfCnyz2fUaSgfwXpTv6VNa5zGFAv0VwLaDDsCmTfFCt5wZOzTEaYGXqNgOpw6WyR2R/m9H1MhG3TfGtGcBB7m5w1cz8eXIyoFm0Fk3eF4V+J7tFy/2zXXyH3OgkfRh4GMjPp+Dbf9HzTJ2YajJcnnKiKfrm+1NgMtrdSgvQTmqDayoresT7Yj+EVGu+D9PuTHOKoN+pTamTNMNpR1rJebdFWhF4Jq2iY7jEKculskddpGk7UfUyGrdHKGr2zgOu7d5vkfSo4G/Ap0uZDdCm2vknWw/tNJm8/m8BGgV6CW92/bHtJB1711nvftOmyyXwqStcXbdj2T7XsrwzdFut9g6yMPUCvT3AZdJOpXypXgRcLakT0O9mzx0qPoyuSM8DXiDpOub7Y0pcwMuof3a5Z3cxnGEU1RWN/wY8xaMqrVe+ZJoE2iW1dDdsJoa2ooVyjRoF55NR4HQzeqqsXCSNqRM5nsm5e9wNuUKd07LdMdlIAhMrUD//eYx8MsJKsdYdbZMbmPHimmNdCTwa0nfoXwhXw0cXjmPj1Oatp5NWWel9vC+Ln0NOE3zbkf5RsoollZsD8b8X05Zm3868/5nTRkV0xfV7tTegeMonfmD/q49m30vapnuuAwEgSnURj/VSdqB8uUY3HB5OrC37TMmrFBLQR3exrFJ/0TKaKGvNbv2ANa0XWt43+Lyb9VGLGknhm7jaPtnFcv2e8oIlUsos6qBqVcbbyYGDcbpnzM8K1YV7xZX22gTD2tNRhwvkz7Qj+flTZeambcHU4IBlOnsn6w183aq67IzeSi9qRpozrb9rIkuRxtTedScpF9Qlhg5odm1B6WS1mqJ5fEaCAJTI9Cvb/smSZuM9vpUqdV0OfyxD7oe3tdloOl65mRzNbgHcBrdjaPvVFej5saDpI0p901+OiUw/xo40Pb1i3zjJDLpA31fjEeNdSprAsFgeB80ncmUpoq2ncmdBhpJV9PhzElJX6OsyXMZ85puqo6j75rKjWX2GBqCuibwNTe3Cp3MmuHFbx8xGOHjlYcXLwusx/x3mKp2Ipn0nbHjeXnTsS6HP/ZBl53J0NHw3EbXMyef6Ip32pogU3nU3BOGJ9PZvrXm8GJJbwMOpaxo+9CJnHLzoyomfaAfx3HuXety+OOUNw5NcF0Gmq6XKDhX0la1O8DH2VQeNdf18OKDKEtQVF3RdtikD/Q90nWNNRaty0CzOmWNoeFZvDVX3nwWMFNlSeH7mHc1O2UqB7ZbDzedQF0PL76BynecGylt9BGT3FQeiNCjUXPVhxdr3s1wtqb0T/2I+a8IPzHa+8aUVwJ99Nl4BJquZk72QV9GzXVB5Z4IC2X7A9XySqCPPhuPQNO0+38D+Gqza0/g9bbbzpyMqCKBPqKlPsyc7EqPRs11RtIPWfAzuoOyxtEXa0yqTGds9No4BZq/SNqT+WdOdjaCYirp0ai5Ll1LuSPc4PvzGspQy8cCX6KsdNtKavQRLfVh5mRMHEln2X7OaPskXWZ767Z5TJV7NkZMZh+kLNcwzfYjKatXHjaxRYopZFpTWQAeqjis22zeP/pblk6abiLa63TmZPTewZTJe9dQmhQ3BfZXuTVllfkHabqJaKm5gczzRsycPLMHyxbEOJG0ImU9IwFX1l7VNjX6iPbG48Ys0TOSXmD79Gb102GbSaq6OmkCfURLtr8iaTbzZk6+coqvSxPj47nA6cAuzfageUXUXUIjTTcREROpuSnRboy4VaTt/6yVR2r0ERET6wfA7cCFzFtGu2oNPDX6iIgJJOlS29t0mUfG0UdETKxfS+p0hFZq9BERE2BoRdXlgM0pSyF0cr+BBPqIiAmwsBVVB2ou4ZxAHxHRc2mjj4jouQT6iIieS6CPiOi5BPqIiJ5LoI+I6Ln/D7hJ+menIKELAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.category.value_counts().plot(kind='bar', title='Products category')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Distribution of product types column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "foundation     166\n",
       "lipstick       154\n",
       "eyeliner       148\n",
       "mascara         92\n",
       "eyeshadow       86\n",
       "blush           78\n",
       "bronzer         69\n",
       "nail_polish     60\n",
       "eyebrow         49\n",
       "lip_liner       29\n",
       "dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.value_counts(df['product_type'].values, sort=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.product_type.value_counts().plot(kind='bar', title='Products types')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The largest amount of products is foundation, lipstick and eyeliner."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### How many products have rating above 4?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "227"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['product_type'].where(df['rating'] > 4).count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Only numerica data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1048</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1047</td>\n",
       "      <td>5.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1046</td>\n",
       "      <td>5.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1045</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1044</td>\n",
       "      <td>26.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     id  price  rating\n",
       "0  1048    5.0     NaN\n",
       "1  1047    5.5     NaN\n",
       "2  1046    5.5     NaN\n",
       "3  1045   12.0     NaN\n",
       "4  1044   26.0     NaN"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_two = df._get_numeric_data()\n",
    "df_two.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Exchange of columns:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rating</th>\n",
       "      <th>price</th>\n",
       "      <th>id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>1048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>5.5</td>\n",
       "      <td>1047</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>5.5</td>\n",
       "      <td>1046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>12.0</td>\n",
       "      <td>1045</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>26.0</td>\n",
       "      <td>1044</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   rating  price    id\n",
       "0     NaN    5.0  1048\n",
       "1     NaN    5.5  1047\n",
       "2     NaN    5.5  1046\n",
       "3     NaN   12.0  1045\n",
       "4     NaN   26.0  1044"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_two = df_two[['rating', 'price', 'id']]\n",
    "df_two.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Indexing, selection, filtering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first two observations from the frame (two ways)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>currency</th>\n",
       "      <th>description</th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>price_sign</th>\n",
       "      <th>product_type</th>\n",
       "      <th>rating</th>\n",
       "      <th>tag_list</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>pencil</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Lippie Pencil A long-wearing and high-intensit...</td>\n",
       "      <td>1048</td>\n",
       "      <td>Lippie Pencil</td>\n",
       "      <td>5.0</td>\n",
       "      <td>$</td>\n",
       "      <td>lip_liner</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>CAD</td>\n",
       "      <td>Blotted Lip Sheer matte lipstick that creates ...</td>\n",
       "      <td>1047</td>\n",
       "      <td>Blotted Lip</td>\n",
       "      <td>5.5</td>\n",
       "      <td>$</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       brand  category currency  \\\n",
       "0  colourpop    pencil      CAD   \n",
       "1  colourpop  lipstick      CAD   \n",
       "\n",
       "                                         description    id           name  \\\n",
       "0  Lippie Pencil A long-wearing and high-intensit...  1048  Lippie Pencil   \n",
       "1  Blotted Lip Sheer matte lipstick that creates ...  1047    Blotted Lip   \n",
       "\n",
       "   price price_sign product_type  rating                   tag_list  \n",
       "0    5.0          $    lip_liner     NaN  ['Vegan', 'cruelty free']  \n",
       "1    5.5          $     lipstick     NaN  ['Vegan', 'cruelty free']  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(2)\n",
    "df.iloc[0:2,]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>currency</th>\n",
       "      <th>description</th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>price_sign</th>\n",
       "      <th>product_type</th>\n",
       "      <th>rating</th>\n",
       "      <th>tag_list</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>928</th>\n",
       "      <td>physicians formula</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Physicians Formula Organic Wear Lash Boosting ...</td>\n",
       "      <td>3</td>\n",
       "      <td>Physicians Formula Organic Wear Lash Boosting ...</td>\n",
       "      <td>15.79</td>\n",
       "      <td>NaN</td>\n",
       "      <td>mascara</td>\n",
       "      <td>3.7</td>\n",
       "      <td>['Gluten Free', 'Natural']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>929</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Voluminous - Volume Building Waterproof Mascar...</td>\n",
       "      <td>2</td>\n",
       "      <td>L' Oreal Paris Voluminous Mascara</td>\n",
       "      <td>9.99</td>\n",
       "      <td>NaN</td>\n",
       "      <td>mascara</td>\n",
       "      <td>4.5</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>930</th>\n",
       "      <td>pure anada</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Finally, a natural mascara you can feel good a...</td>\n",
       "      <td>1</td>\n",
       "      <td>Pure Anada Natural Mascara</td>\n",
       "      <td>14.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>mascara</td>\n",
       "      <td>4.6</td>\n",
       "      <td>['Canadian', 'Gluten Free', 'Natural']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  brand category currency  \\\n",
       "928  physicians formula      NaN      NaN   \n",
       "929                 NaN      NaN      NaN   \n",
       "930          pure anada      NaN      NaN   \n",
       "\n",
       "                                           description  id  \\\n",
       "928  Physicians Formula Organic Wear Lash Boosting ...   3   \n",
       "929  Voluminous - Volume Building Waterproof Mascar...   2   \n",
       "930  Finally, a natural mascara you can feel good a...   1   \n",
       "\n",
       "                                                  name  price price_sign  \\\n",
       "928  Physicians Formula Organic Wear Lash Boosting ...  15.79        NaN   \n",
       "929                  L' Oreal Paris Voluminous Mascara   9.99        NaN   \n",
       "930                         Pure Anada Natural Mascara  14.00        NaN   \n",
       "\n",
       "    product_type  rating                                tag_list  \n",
       "928      mascara     3.7              ['Gluten Free', 'Natural']  \n",
       "929      mascara     4.5                                      []  \n",
       "930      mascara     4.6  ['Canadian', 'Gluten Free', 'Natural']  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# last three observations\n",
    "df.iloc[-3:,]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Selecting specific data from columns:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "brand            colourpop\n",
       "category            liquid\n",
       "price                   12\n",
       "rating                 NaN\n",
       "product_type    foundation\n",
       "Name: 3, dtype: object"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[3, [\"brand\", \"category\", \"price\", \"rating\", \"product_type\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>boosh</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>26.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>lipstick</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>deciem</td>\n",
       "      <td>liquid</td>\n",
       "      <td>6.7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>foundation</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    brand  category  price  rating product_type\n",
       "4   boosh  lipstick   26.0     NaN     lipstick\n",
       "5  deciem    liquid    6.7     NaN   foundation"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[[4, 5], [\"brand\",\"category\", \"price\", \"rating\", \"product_type\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>pencil</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>lip_liner</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>5.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>lipstick</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>5.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>lipstick</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>liquid</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>foundation</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>boosh</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>26.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>lipstick</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       brand  category  price  rating product_type\n",
       "0  colourpop    pencil    5.0     NaN    lip_liner\n",
       "1  colourpop  lipstick    5.5     NaN     lipstick\n",
       "2  colourpop  lipstick    5.5     NaN     lipstick\n",
       "3  colourpop    liquid   12.0     NaN   foundation\n",
       "4      boosh  lipstick   26.0     NaN     lipstick"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = df.loc[:, [\"brand\",\"category\", \"price\", \"rating\", \"product_type\"]]\n",
    "df2.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>481</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>NaN</td>\n",
       "      <td>13.99</td>\n",
       "      <td>NaN</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>493</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>505</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>powder</td>\n",
       "      <td>13.99</td>\n",
       "      <td>NaN</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>512</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>powder</td>\n",
       "      <td>13.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>519</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>powder</td>\n",
       "      <td>8.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         brand category  price  rating product_type\n",
       "481  covergirl      NaN  13.99     NaN      bronzer\n",
       "493  covergirl      NaN   8.99     5.0      bronzer\n",
       "505  covergirl   powder  13.99     NaN        blush\n",
       "512  covergirl   powder  13.99     5.0        blush\n",
       "519  covergirl   powder   8.99     5.0        blush"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.loc[df2['brand'] == 'covergirl'].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Price greater than 50:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>329</th>\n",
       "      <td>dior</td>\n",
       "      <td>palette</td>\n",
       "      <td>65.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyeshadow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>364</th>\n",
       "      <td>dior</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>77.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>lipstick</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>386</th>\n",
       "      <td>benefit</td>\n",
       "      <td>NaN</td>\n",
       "      <td>75.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>454</th>\n",
       "      <td>smashbox</td>\n",
       "      <td>NaN</td>\n",
       "      <td>55.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyebrow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>456</th>\n",
       "      <td>smashbox</td>\n",
       "      <td>palette</td>\n",
       "      <td>52.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyeshadow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>549</th>\n",
       "      <td>stila</td>\n",
       "      <td>cream</td>\n",
       "      <td>51.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>550</th>\n",
       "      <td>stila</td>\n",
       "      <td>cream</td>\n",
       "      <td>51.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>676</th>\n",
       "      <td>mistura</td>\n",
       "      <td>NaN</td>\n",
       "      <td>56.49</td>\n",
       "      <td>2.6</td>\n",
       "      <td>eyeshadow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>689</th>\n",
       "      <td>pacifica</td>\n",
       "      <td>NaN</td>\n",
       "      <td>60.00</td>\n",
       "      <td>4.9</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        brand  category  price  rating product_type\n",
       "329      dior   palette  65.00     NaN    eyeshadow\n",
       "364      dior  lipstick  77.00     NaN     lipstick\n",
       "386   benefit       NaN  75.00     NaN      bronzer\n",
       "454  smashbox       NaN  55.00     NaN      eyebrow\n",
       "456  smashbox   palette  52.00     NaN    eyeshadow\n",
       "549     stila     cream  51.00     NaN        blush\n",
       "550     stila     cream  51.00     NaN        blush\n",
       "676   mistura       NaN  56.49     2.6    eyeshadow\n",
       "689  pacifica       NaN  60.00     4.9      bronzer"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2[df2['price'] > 50]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Rating greater than 4.0 and price greater than 20: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>486</th>\n",
       "      <td>physicians formula</td>\n",
       "      <td>NaN</td>\n",
       "      <td>20.99</td>\n",
       "      <td>4.7</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>489</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>24.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>490</th>\n",
       "      <td>cargo cosmetics</td>\n",
       "      <td>NaN</td>\n",
       "      <td>29.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>496</th>\n",
       "      <td>dr. hauschka</td>\n",
       "      <td>NaN</td>\n",
       "      <td>45.00</td>\n",
       "      <td>4.6</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>507</th>\n",
       "      <td>cargo cosmetics</td>\n",
       "      <td>NaN</td>\n",
       "      <td>36.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  brand category  price  rating product_type\n",
       "486  physicians formula      NaN  20.99     4.7      bronzer\n",
       "489                 NaN      NaN  24.00     5.0      bronzer\n",
       "490     cargo cosmetics      NaN  29.00     5.0      bronzer\n",
       "496        dr. hauschka      NaN  45.00     4.6      bronzer\n",
       "507     cargo cosmetics      NaN  36.00     5.0      bronzer"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2[(df2['rating'] > 4.0) & (df2['price'] > 20)].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Rating greater than 4.5 and price less than 10:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>493</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>519</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>powder</td>\n",
       "      <td>8.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>522</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>powder</td>\n",
       "      <td>6.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>528</th>\n",
       "      <td>covergirl</td>\n",
       "      <td>powder</td>\n",
       "      <td>6.99</td>\n",
       "      <td>5.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>536</th>\n",
       "      <td>e.l.f.</td>\n",
       "      <td>powder</td>\n",
       "      <td>9.99</td>\n",
       "      <td>4.7</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         brand category  price  rating product_type\n",
       "493  covergirl      NaN   8.99     5.0      bronzer\n",
       "519  covergirl   powder   8.99     5.0        blush\n",
       "522  covergirl   powder   6.99     5.0        blush\n",
       "528  covergirl   powder   6.99     5.0        blush\n",
       "536     e.l.f.   powder   9.99     4.7        blush"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2[(df2['rating'] > 4.5) & (df2['price'] < 10)].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Observations where the rating between 1 and 3:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>495</th>\n",
       "      <td>physicians formula</td>\n",
       "      <td>NaN</td>\n",
       "      <td>21.99</td>\n",
       "      <td>2.5</td>\n",
       "      <td>bronzer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>511</th>\n",
       "      <td>sante</td>\n",
       "      <td>powder</td>\n",
       "      <td>23.49</td>\n",
       "      <td>3.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>552</th>\n",
       "      <td>nyx</td>\n",
       "      <td>cream</td>\n",
       "      <td>9.99</td>\n",
       "      <td>2.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>556</th>\n",
       "      <td>NaN</td>\n",
       "      <td>cream</td>\n",
       "      <td>15.00</td>\n",
       "      <td>2.3</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>569</th>\n",
       "      <td>marcelle</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10.99</td>\n",
       "      <td>3.0</td>\n",
       "      <td>lip_liner</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  brand category  price  rating product_type\n",
       "495  physicians formula      NaN  21.99     2.5      bronzer\n",
       "511               sante   powder  23.49     3.0        blush\n",
       "552                 nyx    cream   9.99     2.0        blush\n",
       "556                 NaN    cream  15.00     2.3        blush\n",
       "569            marcelle      NaN  10.99     3.0    lip_liner"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2[df2['rating'].between(1,3)].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Summary statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>917.000000</td>\n",
       "      <td>340.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>16.508593</td>\n",
       "      <td>4.319118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>11.028035</td>\n",
       "      <td>0.675849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>8.990000</td>\n",
       "      <td>4.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>13.990000</td>\n",
       "      <td>4.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>22.000000</td>\n",
       "      <td>5.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>77.000000</td>\n",
       "      <td>5.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            price      rating\n",
       "count  917.000000  340.000000\n",
       "mean    16.508593    4.319118\n",
       "std     11.028035    0.675849\n",
       "min      0.000000    1.500000\n",
       "25%      8.990000    4.000000\n",
       "50%     13.990000    4.500000\n",
       "75%     22.000000    5.000000\n",
       "max     77.000000    5.000000"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16.508593238822208"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2['price'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rating</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1.5</th>\n",
       "      <td>10.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.0</th>\n",
       "      <td>12.990000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.3</th>\n",
       "      <td>15.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.5</th>\n",
       "      <td>13.906667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.6</th>\n",
       "      <td>56.490000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.0</th>\n",
       "      <td>13.603846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.1</th>\n",
       "      <td>15.790000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.2</th>\n",
       "      <td>15.790000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.3</th>\n",
       "      <td>11.592000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.4</th>\n",
       "      <td>15.872500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.5</th>\n",
       "      <td>12.756667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.6</th>\n",
       "      <td>28.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.7</th>\n",
       "      <td>9.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.8</th>\n",
       "      <td>15.257778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.9</th>\n",
       "      <td>13.672000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.0</th>\n",
       "      <td>13.905849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.1</th>\n",
       "      <td>16.376667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.2</th>\n",
       "      <td>12.090833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.3</th>\n",
       "      <td>12.101304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.4</th>\n",
       "      <td>13.404667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.5</th>\n",
       "      <td>11.694828</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.6</th>\n",
       "      <td>16.169231</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.7</th>\n",
       "      <td>15.362353</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.8</th>\n",
       "      <td>16.197619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.9</th>\n",
       "      <td>31.096000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5.0</th>\n",
       "      <td>14.031860</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            price\n",
       "rating           \n",
       "1.5     10.000000\n",
       "2.0     12.990000\n",
       "2.3     15.000000\n",
       "2.5     13.906667\n",
       "2.6     56.490000\n",
       "3.0     13.603846\n",
       "3.1     15.790000\n",
       "3.2     15.790000\n",
       "3.3     11.592000\n",
       "3.4     15.872500\n",
       "3.5     12.756667\n",
       "3.6     28.000000\n",
       "3.7      9.750000\n",
       "3.8     15.257778\n",
       "3.9     13.672000\n",
       "4.0     13.905849\n",
       "4.1     16.376667\n",
       "4.2     12.090833\n",
       "4.3     12.101304\n",
       "4.4     13.404667\n",
       "4.5     11.694828\n",
       "4.6     16.169231\n",
       "4.7     15.362353\n",
       "4.8     16.197619\n",
       "4.9     31.096000\n",
       "5.0     14.031860"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# mean price for each rating \n",
    "df2.groupby('rating').mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The distribution of data on charts:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2a4d0a7b400>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAEm1JREFUeJzt3X+sX3V9x/Hn2xYUe5WidXeEdmsTGzcEf9AbgiMx94qZFQ0lmSQ1m7YE0ziZsskixSUjW0KCWfDX3GY6Ia1TuTCmoxZQGXJnTEZdi8wLVKRBgi2M+gOqV4lb9b0/vqd6c7nt9/ac+/1xPns+kpv7/Z7zOd/z6qffvO655/v9nhuZiSSpXM8bdABJUm9Z9JJUOItekgpn0UtS4Sx6SSqcRS9JhbPoJalwFr0kFc6il6TCLR10AIAVK1bk6tWra23705/+lGXLli1uoB5qU942ZYV25W1TVmhX3jZlhWZ59+7d+4PMfFnXgZk58K9169ZlXffcc0/tbQehTXnblDWzXXnblDWzXXnblDWzWV5gTy6gYz11I0mFs+glqXAWvSQVzqKXpMJZ9JJUOItekgpn0UtS4Sx6SSqcRS9JhRuKSyBI0iCt3nr7wPa9fX3vL9fgEb0kFc6il6TCWfSSVDiLXpIKZ9FLUuEsekkqnEUvSYWz6CWpcBa9JBXOopekwnUt+oi4MSIORcQDs5b9TUR8OyK+FRFfiIjls9ZdHRH7I+LhiHhTr4JLkhZmIUf024H1c5bdBZyVma8CvgNcDRARZwIbgVdW2/x9RCxZtLSSpBPWtegz82vAj+Ys+0pmHqnu3gusrG5vACYz8+eZ+V1gP3DuIuaVJJ2gyMzugyJWA7sy86x51n0RuDkzPxMRnwDuzczPVOtuAO7MzFvn2W4LsAVgdHR03eTkZK1/wMzMDCMjI7W2HYQ25W1TVmhX3jZlhXblrZN1+uDhHqXpbs2pS2rP7cTExN7MHOs2rtFliiPiL4AjwGePLppn2Lw/STJzG7ANYGxsLMfHx2tlmJqaou62g9CmvG3KCu3K26as0K68dbJuHvBlins9t7WLPiI2AW8FLshf/1pwAFg1a9hK4In68SRJTdV6e2VErAeuAi7KzJ/NWrUT2BgRz4+INcBa4BvNY0qS6up6RB8RNwHjwIqIOABcQ+ddNs8H7ooI6JyXf3dmPhgRtwAP0Tmlc3lm/qJX4SVJ3XUt+sx8+zyLbzjO+GuBa5uEkiQtHj8ZK0mFs+glqXAWvSQVzqKXpMJZ9JJUOItekgpn0UtS4Sx6SSqcRS9JhbPoJalwFr0kFc6il6TCWfSSVDiLXpIKZ9FLUuEsekkqnEUvSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhuhZ9RNwYEYci4oFZy14SEXdFxCPV99Oq5RERH4+I/RHxrYg4p5fhJUndLeSIfjuwfs6yrcDdmbkWuLu6D/BmYG31tQX4h8WJKUmqq2vRZ+bXgB/NWbwB2FHd3gFcPGv5p7PjXmB5RJy+WGElSScuMrP7oIjVwK7MPKu6/0xmLp+1/unMPC0idgHXZebXq+V3A1dl5p55HnMLnaN+RkdH101OTtb6B8zMzDAyMlJr20FoU942ZYV25W1TVmhX3jpZpw8e7lGa7tacuqT23E5MTOzNzLFu45bWevRji3mWzfuTJDO3AdsAxsbGcnx8vNYOp6amqLvtILQpb5uyQrvytikrtCtvnaybt97emzALsH39sp7Pbd133Tx19JRM9f1QtfwAsGrWuJXAE/XjSZKaqlv0O4FN1e1NwG2zlr+zevfNecDhzHyyYUZJUgNdT91ExE3AOLAiIg4A1wDXAbdExGXA48Al1fA7gAuB/cDPgEt7kFmSdAK6Fn1mvv0Yqy6YZ2wClzcNJUlaPH4yVpIKZ9FLUuEsekkqnEUvSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhLHpJKpxFL0mFs+glqXAWvSQVzqKXpMJZ9JJUOItekgpn0UtS4Sx6SSqcRS9JhbPoJalwFr0kFc6il6TCNSr6iPiziHgwIh6IiJsi4gURsSYidkfEIxFxc0ScvFhhJUknrnbRR8QZwPuAscw8C1gCbAQ+BHwkM9cCTwOXLUZQSVI9TU/dLAVOiYilwAuBJ4E3ALdW63cAFzfchySpgcjM+htHXAFcCzwLfAW4Arg3M19erV8F3Fkd8c/ddguwBWB0dHTd5ORkrQwzMzOMjIzU+wcMQJvytikrtCtvm7JC//JOHzzc+DFGT4Gnnl2EMH2y5tQlted2YmJib2aOdRu3tNajAxFxGrABWAM8A/wz8OZ5hs77kyQztwHbAMbGxnJ8fLxWjqmpKepuOwhtytumrNCuvG3KCv3Lu3nr7Y0f48qzj3D9dO1q67vt65f1fG6bnLp5I/DdzPx+Zv4v8Hng94Dl1akcgJXAEw0zSpIaaFL0jwPnRcQLIyKAC4CHgHuAt1VjNgG3NYsoSWqidtFn5m46L7reB0xXj7UNuAp4f0TsB14K3LAIOSVJNTU6kZWZ1wDXzFn8KHBuk8eVJC0ePxkrSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhLHpJKpxFL0mFa88l3iT1xep5riB55dlHFuXKkhoMj+glqXAWvSQVzqKXpMJZ9JJUOItekgpn0UtS4Sx6SSqcRS9JhbPoJalwFr0kFc6il6TCWfSSVDiLXpIK16joI2J5RNwaEd+OiH0R8bqIeElE3BURj1TfT1ussJKkE9f0iP5jwJcy83eAVwP7gK3A3Zm5Fri7ui9JGpDaRR8RLwZeD9wAkJn/k5nPABuAHdWwHcDFTUNKkuqLzKy3YcRrgG3AQ3SO5vcCVwAHM3P5rHFPZ+ZzTt9ExBZgC8Do6Oi6ycnJWjlmZmYYGRmpte0gtClvm7JCu/IOc9bpg4efs2z0FHjq2QGEqaFNWQHWnLqk9nNhYmJib2aOdRvXpOjHgHuB8zNzd0R8DPgx8N6FFP1sY2NjuWfPnlo5pqamGB8fr7XtILQpb5uyQrvyDnPWY/2Fqeun2/EH6dqUFWD7+mW1nwsRsaCib3KO/gBwIDN3V/dvBc4BnoqI06sQpwOHGuxDktRQ7aLPzP8GvhcRr6gWXUDnNM5OYFO1bBNwW6OEkqRGmv5+817gsxFxMvAocCmdHx63RMRlwOPAJQ33IUlqoFHRZ+b9wHznhy5o8riSpMXjJ2MlqXAWvSQVzqKXpMJZ9JJUOItekgpn0UtS4Sx6SSqcRS9JhbPoJalwFr0kFc6il6TCWfSSVDiLXpIKZ9FLUuEsekkqnEUvSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhLHpJKlzjoo+IJRHxzYjYVd1fExG7I+KRiLg5Ik5uHlOSVNdiHNFfAeybdf9DwEcycy3wNHDZIuxDklRTo6KPiJXAW4BPVfcDeANwazVkB3Bxk31IkpppekT/UeADwC+r+y8FnsnMI9X9A8AZDfchSWogMrPehhFvBS7MzPdExDjw58ClwH9k5surMauAOzLz7Hm23wJsARgdHV03OTlZK8fMzAwjIyO1th2ENuVtU1ZoV95hzjp98PBzlo2eAk89O4AwNbQpK8CaU5fUfi5MTEzszcyxbuOW1nr0jvOBiyLiQuAFwIvpHOEvj4il1VH9SuCJ+TbOzG3ANoCxsbEcHx+vFWJqaoq62w5Cm/K2KSu0K+8wZ9289fbnLLvy7CNcP92kLvqnTVkBtq9f1vPnQu1TN5l5dWauzMzVwEbgq5n5h8A9wNuqYZuA2xqnlCTV1ov30V8FvD8i9tM5Z39DD/YhSVqgRfn9JjOngKnq9qPAuYvxuJKk5vxkrCQVzqKXpMJZ9JJUOItekgpn0UtS4Sx6SSqcRS9JhbPoJalwFr0kFc6il6TCWfSSVDiLXpIKZ9FLUuEsekkqnEUvSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhLHpJKpxFL0mFq130EbEqIu6JiH0R8WBEXFEtf0lE3BURj1TfT1u8uJKkE9XkiP4IcGVm/i5wHnB5RJwJbAXuzsy1wN3VfUnSgNQu+sx8MjPvq27/BNgHnAFsAHZUw3YAFzcNKUmqb1HO0UfEauC1wG5gNDOfhM4PA+A3FmMfkqR6IjObPUDECPDvwLWZ+fmIeCYzl89a/3RmPuc8fURsAbYAjI6OrpucnKy1/5mZGUZGRuqFH4A25W1TVmhX3oVknT54uE9puhs9BZ56dtApFqZNWQHWnLqk9vN2YmJib2aOdRvXqOgj4iRgF/DlzPxwtexhYDwzn4yI04GpzHzF8R5nbGws9+zZUyvD1NQU4+PjtbYdhDblbVNWaFfehWRdvfX2/oRZgCvPPsL100sHHWNB2pQVYPv6ZbWftxGxoKJv8q6bAG4A9h0t+cpOYFN1exNwW919SJKaa/Jj73zgHcB0RNxfLfsgcB1wS0RcBjwOXNIsoiSpidpFn5lfB+IYqy+o+7iSpMXlJ2MlqXAWvSQVzqKXpMK15z1I+n9tIW81vPLsI2zuwVsSH7vuLYv+mFI/eUQvSYWz6CWpcBa9JBXOopekwvlirNRFL64506sXjqX5eEQvSYWz6CWpcBa9JBXOopekwln0klQ4i16SCmfRS1LhfB99C/Xrb4nO915vL/AltY9H9JJUOItekgpn0UtS4TxH30Cdc+Ve40RSv3lEL0mFs+glqXA9K/qIWB8RD0fE/ojY2qv9SJKOrydFHxFLgL8D3gycCbw9Is7sxb4kScfXqxdjzwX2Z+ajABExCWwAHlrsHU0fPOyLm33Urw9rSVo8vTp1cwbwvVn3D1TLJEl9Fpm5+A8acQnwpsx8V3X/HcC5mfneWWO2AFuqu68AHq65uxXADxrE7bc25W1TVmhX3jZlhXblbVNWaJb3tzPzZd0G9erUzQFg1az7K4EnZg/IzG3AtqY7iog9mTnW9HH6pU1525QV2pW3TVmhXXnblBX6k7dXp27+E1gbEWsi4mRgI7CzR/uSJB1HT47oM/NIRPwJ8GVgCXBjZj7Yi31Jko6vZ5dAyMw7gDt69fizND7902dtytumrNCuvG3KCu3K26as0Ie8PXkxVpI0PLwEgiQVrjVFHxE3RsShiHjgGOvHI+JwRNxfff1lvzPOyrIqIu6JiH0R8WBEXDHPmIiIj1eXiPhWRJwzxFmHaW5fEBHfiIj/qvL+1Txjnh8RN1dzuzsiVvc/6YKzbo6I78+a23cNIuusPEsi4psRsWuedUMxr3MyHS/vsM3tYxExXWXZM8/63nVCZrbiC3g9cA7wwDHWjwO7Bp2zynI6cE51+0XAd4Az54y5ELgTCOA8YPcQZx2muQ1gpLp9ErAbOG/OmPcAn6xubwRuHuKsm4FPDHpeZ+V5P/C5+f6/h2VeTyDvsM3tY8CK46zvWSe05og+M78G/GjQORYiM5/MzPuq2z8B9vHcTwZvAD6dHfcCyyPi9D5HXWjWoVHN10x196Tqa+4LTRuAHdXtW4ELIiL6FPFXFph1aETESuAtwKeOMWQo5vWoBeRtm551QmuKfoFeV/2afGdEvHLQYQCqX29fS+dobrahu0zEcbLCEM1t9ev6/cAh4K7MPObcZuYR4DDw0v6m7FhAVoA/qH5VvzUiVs2zvl8+CnwA+OUx1g/NvFa65YXhmVvo/JD/SkTsra4MMFfPOqGkor+PzseBXw38LfCvA85DRIwA/wL8aWb+eO7qeTYZ2NFel6xDNbeZ+YvMfA2dT1yfGxFnzRkyNHO7gKxfBFZn5quAf+PXR8x9FRFvBQ5l5t7jDZtn2UDmdYF5h2JuZzk/M8+hc1XfyyPi9XPW92x+iyn6zPzx0V+Ts/Me/pMiYsWg8kTESXSK87OZ+fl5hnS9TES/dMs6bHN7VGY+A0wB6+es+tXcRsRS4FQGfNrvWFkz84eZ+fPq7j8C6/oc7ajzgYsi4jFgEnhDRHxmzphhmteueYdobo/meaL6fgj4Ap2r/M7Ws04opugj4jePni+MiHPp/Nt+OKAsAdwA7MvMDx9j2E7gndUr7ecBhzPzyb6FrCwk65DN7csiYnl1+xTgjcC35wzbCWyqbr8N+GpWr3b100KyzjkHexGd10j6LjOvzsyVmbmazgutX83MP5ozbCjmFRaWd1jmtsqyLCJedPQ28PvA3HcQ9qwTWvPHwSPiJjrv/lgREQeAa+i8uEVmfpLOE++PI+II8CywcVBPQjpHG+8ApqvzswAfBH4LfpX3Djqvsu8HfgZcOoCcsLCswzS3pwM7ovPHbZ4H3JKZuyLir4E9mbmTzg+uf4qI/XSOODcOcdb3RcRFwJEq6+YBZZ3XkM7rMQ3x3I4CX6iOl5YCn8vML0XEu6H3neAnYyWpcMWcupEkzc+il6TCWfSSVDiLXpIKZ9FLUuEsekkqnEUvSYWz6CWpcP8H/zBxQsNSwtwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['rating'].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2a4d0b15a90>"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['price'].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000002A4D0B8A978>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000002A4D0BB3CC0>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2[df2['brand'] == 'nyx'].hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The largest rating is in the range of 4.5-5.0 but are many missing values in data. The largest price is in the range of 8-20."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Corelation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2a4d123d390>"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "cor = df2[['rating', 'price']].corr()\n",
    "sns.heatmap(cor, annot=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### The mean price of selected products:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "price     11.138148\n",
       "rating     4.082609\n",
       "dtype: float64"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.loc[df2['brand'] == 'maybelline'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "price     14.444050\n",
       "rating     4.464865\n",
       "dtype: float64"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.loc[df2['category'] == 'lipstick'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_type</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>blush</th>\n",
       "      <td>17.155395</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bronzer</th>\n",
       "      <td>22.738841</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyebrow</th>\n",
       "      <td>20.963542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeliner</th>\n",
       "      <td>12.624014</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeshadow</th>\n",
       "      <td>17.978929</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foundation</th>\n",
       "      <td>20.672407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lip_liner</th>\n",
       "      <td>9.859655</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lipstick</th>\n",
       "      <td>14.517647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mascara</th>\n",
       "      <td>14.193596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nail_polish</th>\n",
       "      <td>12.901500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  price\n",
       "product_type           \n",
       "blush         17.155395\n",
       "bronzer       22.738841\n",
       "eyebrow       20.963542\n",
       "eyeliner      12.624014\n",
       "eyeshadow     17.978929\n",
       "foundation    20.672407\n",
       "lip_liner      9.859655\n",
       "lipstick      14.517647\n",
       "mascara       14.193596\n",
       "nail_polish   12.901500"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('product_type')[['price']].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rating</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_type</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>blush</th>\n",
       "      <td>4.419444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bronzer</th>\n",
       "      <td>4.608333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyebrow</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeliner</th>\n",
       "      <td>4.230189</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeshadow</th>\n",
       "      <td>4.392500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foundation</th>\n",
       "      <td>4.218519</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lip_liner</th>\n",
       "      <td>4.363636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lipstick</th>\n",
       "      <td>4.435000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mascara</th>\n",
       "      <td>4.281633</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nail_polish</th>\n",
       "      <td>4.118182</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                rating\n",
       "product_type          \n",
       "blush         4.419444\n",
       "bronzer       4.608333\n",
       "eyebrow            NaN\n",
       "eyeliner      4.230189\n",
       "eyeshadow     4.392500\n",
       "foundation    4.218519\n",
       "lip_liner     4.363636\n",
       "lipstick      4.435000\n",
       "mascara       4.281633\n",
       "nail_polish   4.118182"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('product_type')[['rating']].mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Aggregation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Number of observations in the column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "category\n",
       "bb_cc            9\n",
       "concealer       19\n",
       "contour          3\n",
       "cream           34\n",
       "gel              3\n",
       "highlighter      2\n",
       "lip_gloss       26\n",
       "lip_stain        4\n",
       "lipstick       122\n",
       "liquid         117\n",
       "mineral         11\n",
       "palette         27\n",
       "pencil          62\n",
       "powder          68\n",
       "dtype: int64"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('category').size()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Max and mean price for each type of product:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>max</th>\n",
       "      <th>mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_type</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>blush</th>\n",
       "      <td>51.00</td>\n",
       "      <td>17.155395</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bronzer</th>\n",
       "      <td>75.00</td>\n",
       "      <td>22.738841</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyebrow</th>\n",
       "      <td>55.00</td>\n",
       "      <td>20.963542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeliner</th>\n",
       "      <td>36.00</td>\n",
       "      <td>12.624014</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeshadow</th>\n",
       "      <td>65.00</td>\n",
       "      <td>17.978929</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foundation</th>\n",
       "      <td>49.00</td>\n",
       "      <td>20.672407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lip_liner</th>\n",
       "      <td>20.49</td>\n",
       "      <td>9.859655</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lipstick</th>\n",
       "      <td>77.00</td>\n",
       "      <td>14.517647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mascara</th>\n",
       "      <td>33.00</td>\n",
       "      <td>14.193596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nail_polish</th>\n",
       "      <td>22.49</td>\n",
       "      <td>12.901500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                max       mean\n",
       "product_type                  \n",
       "blush         51.00  17.155395\n",
       "bronzer       75.00  22.738841\n",
       "eyebrow       55.00  20.963542\n",
       "eyeliner      36.00  12.624014\n",
       "eyeshadow     65.00  17.978929\n",
       "foundation    49.00  20.672407\n",
       "lip_liner     20.49   9.859655\n",
       "lipstick      77.00  14.517647\n",
       "mascara       33.00  14.193596\n",
       "nail_polish   22.49  12.901500"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('product_type')['price'].agg(['max', 'mean'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Max, mean price and rating for each type of product:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">price</th>\n",
       "      <th colspan=\"2\" halign=\"left\">rating</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>max</th>\n",
       "      <th>mean</th>\n",
       "      <th>max</th>\n",
       "      <th>mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_type</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>blush</th>\n",
       "      <td>51.00</td>\n",
       "      <td>17.155395</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.419444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bronzer</th>\n",
       "      <td>75.00</td>\n",
       "      <td>22.738841</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.608333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyebrow</th>\n",
       "      <td>55.00</td>\n",
       "      <td>20.963542</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeliner</th>\n",
       "      <td>36.00</td>\n",
       "      <td>12.624014</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.230189</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeshadow</th>\n",
       "      <td>65.00</td>\n",
       "      <td>17.978929</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.392500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foundation</th>\n",
       "      <td>49.00</td>\n",
       "      <td>20.672407</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.218519</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lip_liner</th>\n",
       "      <td>20.49</td>\n",
       "      <td>9.859655</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.363636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lipstick</th>\n",
       "      <td>77.00</td>\n",
       "      <td>14.517647</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.435000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mascara</th>\n",
       "      <td>33.00</td>\n",
       "      <td>14.193596</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.281633</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nail_polish</th>\n",
       "      <td>22.49</td>\n",
       "      <td>12.901500</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.118182</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              price            rating          \n",
       "                max       mean    max      mean\n",
       "product_type                                   \n",
       "blush         51.00  17.155395    5.0  4.419444\n",
       "bronzer       75.00  22.738841    5.0  4.608333\n",
       "eyebrow       55.00  20.963542    NaN       NaN\n",
       "eyeliner      36.00  12.624014    5.0  4.230189\n",
       "eyeshadow     65.00  17.978929    5.0  4.392500\n",
       "foundation    49.00  20.672407    5.0  4.218519\n",
       "lip_liner     20.49   9.859655    5.0  4.363636\n",
       "lipstick      77.00  14.517647    5.0  4.435000\n",
       "mascara       33.00  14.193596    5.0  4.281633\n",
       "nail_polish   22.49  12.901500    5.0  4.118182"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('product_type')['price', 'rating'].agg(['max', 'mean'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>size</th>\n",
       "      <th>mean</th>\n",
       "      <th>amax</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_type</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>blush</th>\n",
       "      <td>78.0</td>\n",
       "      <td>17.155395</td>\n",
       "      <td>51.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bronzer</th>\n",
       "      <td>69.0</td>\n",
       "      <td>22.738841</td>\n",
       "      <td>75.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyebrow</th>\n",
       "      <td>49.0</td>\n",
       "      <td>20.963542</td>\n",
       "      <td>55.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeliner</th>\n",
       "      <td>148.0</td>\n",
       "      <td>12.624014</td>\n",
       "      <td>36.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeshadow</th>\n",
       "      <td>86.0</td>\n",
       "      <td>17.978929</td>\n",
       "      <td>65.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foundation</th>\n",
       "      <td>166.0</td>\n",
       "      <td>20.672407</td>\n",
       "      <td>49.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lip_liner</th>\n",
       "      <td>29.0</td>\n",
       "      <td>9.859655</td>\n",
       "      <td>20.49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lipstick</th>\n",
       "      <td>154.0</td>\n",
       "      <td>14.517647</td>\n",
       "      <td>77.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mascara</th>\n",
       "      <td>92.0</td>\n",
       "      <td>14.193596</td>\n",
       "      <td>33.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nail_polish</th>\n",
       "      <td>60.0</td>\n",
       "      <td>12.901500</td>\n",
       "      <td>22.49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              price                  \n",
       "               size       mean   amax\n",
       "product_type                         \n",
       "blush          78.0  17.155395  51.00\n",
       "bronzer        69.0  22.738841  75.00\n",
       "eyebrow        49.0  20.963542  55.00\n",
       "eyeliner      148.0  12.624014  36.00\n",
       "eyeshadow      86.0  17.978929  65.00\n",
       "foundation    166.0  20.672407  49.00\n",
       "lip_liner      29.0   9.859655  20.49\n",
       "lipstick      154.0  14.517647  77.00\n",
       "mascara        92.0  14.193596  33.00\n",
       "nail_polish    60.0  12.901500  22.49"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('product_type').agg({'price': [np.size, np.mean, np.max ]})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "How many types of products offerr each brand:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>brand</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>almay</th>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>alva</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>anna sui</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>annabelle</th>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>benefit</th>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>boosh</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>burt's bees</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>butter london</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>c'est moi</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cargo cosmetics</th>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>china glaze</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>clinique</th>\n",
       "      <td>93</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>coastal classic creation</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>colourpop</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>covergirl</th>\n",
       "      <td>54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>dalish</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>deciem</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>dior</th>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>dr. hauschka</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>e.l.f.</th>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>essie</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>fenty</th>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>glossier</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>green people</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>iman</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>l'oreal</th>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lotus cosmetics usa</th>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>maia's mineral galaxy</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>marcelle</th>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>marienatie</th>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>maybelline</th>\n",
       "      <td>54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>milani</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mineral fusion</th>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>misa</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mistura</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>moov</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nudus</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nyx</th>\n",
       "      <td>164</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>orly</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pacifica</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>penny lane organics</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>physicians formula</th>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>piggy paint</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pure anada</th>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rejuva minerals</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>revlon</th>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sally b's skin yummies</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>salon perfect</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sante</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sinful colours</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>smashbox</th>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>stila</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>suncoat</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>w3llpeople</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>wet n wild</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>zorah</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>zorah biocosmetiques</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          product_type\n",
       "brand                                 \n",
       "almay                               14\n",
       "alva                                 1\n",
       "anna sui                             6\n",
       "annabelle                           11\n",
       "benefit                             41\n",
       "boosh                                1\n",
       "burt's bees                          2\n",
       "butter london                        2\n",
       "c'est moi                            4\n",
       "cargo cosmetics                     20\n",
       "china glaze                          1\n",
       "clinique                            93\n",
       "coastal classic creation             1\n",
       "colourpop                            4\n",
       "covergirl                           54\n",
       "dalish                               1\n",
       "deciem                               2\n",
       "dior                                74\n",
       "dr. hauschka                        12\n",
       "e.l.f.                              27\n",
       "essie                                4\n",
       "fenty                                5\n",
       "glossier                             6\n",
       "green people                         1\n",
       "iman                                13\n",
       "l'oreal                             46\n",
       "lotus cosmetics usa                  7\n",
       "maia's mineral galaxy                1\n",
       "marcelle                            15\n",
       "marienatie                           9\n",
       "maybelline                          54\n",
       "milani                              13\n",
       "mineral fusion                       8\n",
       "misa                                 1\n",
       "mistura                              1\n",
       "moov                                 3\n",
       "nudus                                1\n",
       "nyx                                164\n",
       "orly                                 4\n",
       "pacifica                            13\n",
       "penny lane organics                  1\n",
       "physicians formula                  43\n",
       "piggy paint                          1\n",
       "pure anada                          16\n",
       "rejuva minerals                      6\n",
       "revlon                              29\n",
       "sally b's skin yummies               2\n",
       "salon perfect                        1\n",
       "sante                                6\n",
       "sinful colours                       1\n",
       "smashbox                            46\n",
       "stila                                4\n",
       "suncoat                              6\n",
       "w3llpeople                           1\n",
       "wet n wild                          12\n",
       "zorah                                2\n",
       "zorah biocosmetiques                 2"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby('brand').count()[['product_type']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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xBNPMG/ePB577LHRLoqA8ePHM2nSJFZYYYWu4k3gJEmSpKexefPmseqqqzJ58mQiYrSLM6ZlJvfddx/z5s1jypQpXW3DLpSSJEnS09hjjz3GhAkTTN6WARHBhAkTemoNNYGTJEmSnuZM3pYdvb4XJnCSJEmS1CccAydJkiSNIXHc8LbG5bE5rNtr57bbbmOXXXbh2muvHXLszJkzWXHFFXnZy1426Dpnn302z3/+89loo416KeaIsgVOkiRJ0qh66qmnRnwfM2fO5JJLLmm7ztlnn831118/4mXphQmcJEmSpBFz22238YIXvIADDjiATTbZhD333JNHH32UyZMn8/GPf5ztttuOM888kzlz5rD11luzySabsMcee/DAAw8AcOWVV7LpppuyzTbb8LWvfW3hdr/73e9yxBFHLLy/yy67MHPmTAB++ctfsvnmm7Ppppuy4447ctttt/HNb36TL33pS2y22Wb87ne/W6Kcl1xyCeeeey5HHXUUm222GX/+85/ZfPPNFz5+8803s8UWWwAwefJkjj76aLbaaiu22mor5s6dC8D8+fN54xvfyJZbbsmWW27J73//+2F/Pe1CKUmSxrxOXcqWZhcx6enopptu4uSTT2bbbbfloIMO4utf/zpQfhPt4osvBmCTTTbhxBNPZIcdduCjH/0oxx13HF/+8pc58MADFy4/6qijOu5r/vz5HHLIIcyaNYspU6Zw//33s9Zaa3HYYYexyiqr8L73va9l3Mte9jJ22203dtllF/bcc08AVl99debMmcNmm23G9OnTedvb3rZw/dVWW40rrriC733ve7z73e/mvPPO48gjj+Q973kP2223Hbfffjs77bQTN9xwQ4+v3uJsgZMkSZI0otZff3223XZbAPbbb7+FSdub3/xmAB566CEefPBBdthhBwAOOOAAZs2atcTy/fffv+O+LrvsMrbffvuFv7O21lprdV3ut7/97UyfPp2nnnqK008/nbe85S0LH9tnn30W/r300ksB+PWvf80RRxzBZpttxm677cbf//53Hn744a7330rHBC4iTomIeyPi2gHL3xkRN0XEdRHx2ablx0TE3OqxnYa1tJIkSZL6zsCp8xv3V1555bZxmTnotPvjxo1jwYIFC+83flutXcxQvfGNb+QXv/gF5513HltssQUTJkxY+FjzPhr/L1iwgEsvvZQ5c+YwZ84c7rzzTlZdddVhKUtDnRa47wKvaV4QEf8J7A5skpkvAj5fLd8I2Bt4URXz9YhYfjgLLEmSJKm/3H777QtbqU477TS22267xR5fffXVWXPNNReOTfv+97/PDjvswBprrMHqq6++sMXuhz/84cKYyZMnM2fOHBYsWMAdd9zBFVdcAcA222zDRRddxK233grA/fffD8Cqq67asTVs4Drjx49np5124h3veAcHHnjgYuuefvrpC/9us802ALz61a/mq1/96sJ15syZU+flGZKOY+Ayc1ZETB6w+B3ApzPz8Wqde6vluwM/qpbfGhFzga2AS4etxJIkSZK6NhpjOl/4whcyY8YM/uu//oupU6fyjne8gxNPPHGxdWbMmMFhhx3Go48+yvOe9zymT58OwPTp0znooINYaaWV2GmnRR38tt12W6ZMmcKLX/xiNt5444UTjkycOJGTTjqJN7zhDSxYsIB11lmHCy64gF133ZU999yTc845hxNPPJH/+I//WKKce++9N4cccggnnHACZ511FhtuuCH77rsvP/nJT3j1q1+92LqPP/44L33pS1mwYAGnnXYaACeccAKHH344m2yyCU8++STbb7893/zmN4f1tYzMzm9glcCdl5kbV/fnAOdQWtkeA96XmX+IiK8Cl2XmD6r1TgZ+kZlntdv+tGnTcvbs2b08D0mSpK45iYmezm644QZe+MIXjtr+e/nttmXB5z//eR566CE+8YlPLFw2efJkZs+ezdprr93VNlu9JxFxZWZO6xTb7SyU44A1ga2BLYEzIuJ5QKuzX8szXkQcChwKsMEGG3RZDEmSJEkaGXvssQd//vOf+c1vfjPaRVmo2wRuHvCTLM13V0TEAmDtavn6TetNAu5qtYHMPAk4CUoLXJflkCRJkrQMmzx58jLX+nb88cdz5plnLrZsr7324kMf+tBiy37605+2jL/ttttGqmgddZvAnQ28ApgZEc8HVgT+BpwLnBoRXwTWA6YCVwxHQSVJkiRpOHzoQx9aIlnrFx0TuIg4DXg5sHZEzAOOBU4BTql+WuBfwAFVa9x1EXEGcD3wJHB4Zj41UoWXJEmS1NlwTq2v3tSZg6SdOrNQ7jPIQ/sNsv7xwPG9FEqSJEnS8Bg/fjz33XcfEyZMMIkbZZnJfffdx/jx47veRrddKCVJkiT1gUmTJjFv3jzmz58/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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2.groupby('brand').count()[['product_type']].plot(kind='bar',figsize=(15,5), color=['green'], title='The amount of products types by brand')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The largest type of products offer brand \"Nyx\" and \"Clinique\"."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Sorting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>price</th>\n",
       "      <th>rating</th>\n",
       "      <th>product_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>635</th>\n",
       "      <td>almay</td>\n",
       "      <td>liquid</td>\n",
       "      <td>17.29</td>\n",
       "      <td>4.5</td>\n",
       "      <td>foundation</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>886</th>\n",
       "      <td>almay</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10.99</td>\n",
       "      <td>4.3</td>\n",
       "      <td>mascara</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>661</th>\n",
       "      <td>almay</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10.99</td>\n",
       "      <td>4.5</td>\n",
       "      <td>eyeshadow</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>529</th>\n",
       "      <td>almay</td>\n",
       "      <td>powder</td>\n",
       "      <td>14.49</td>\n",
       "      <td>4.0</td>\n",
       "      <td>blush</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>649</th>\n",
       "      <td>almay</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10.49</td>\n",
       "      <td>4.0</td>\n",
       "      <td>eyeshadow</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     brand category  price  rating product_type\n",
       "635  almay   liquid  17.29     4.5   foundation\n",
       "886  almay      NaN  10.99     4.3      mascara\n",
       "661  almay      NaN  10.99     4.5    eyeshadow\n",
       "529  almay   powder  14.49     4.0        blush\n",
       "649  almay      NaN  10.49     4.0    eyeshadow"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.sort_values(by='brand').head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>category</th>\n",
       "      <th>currency</th>\n",
       "      <th>description</th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>price_sign</th>\n",
       "      <th>product_type</th>\n",
       "      <th>rating</th>\n",
       "      <th>tag_list</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>472</th>\n",
       "      <td>nyx</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NYX Mosaic Powder Blush is a medley of that cr...</td>\n",
       "      <td>508</td>\n",
       "      <td>NYX Mosaic Powder Blush Paradise</td>\n",
       "      <td>10.49</td>\n",
       "      <td>NaN</td>\n",
       "      <td>bronzer</td>\n",
       "      <td>5.0</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>750</th>\n",
       "      <td>marcelle</td>\n",
       "      <td>liquid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>\\r\\n        Marcelle Kajal Kohl Eyeliner is of...</td>\n",
       "      <td>201</td>\n",
       "      <td>Marcelle Kajal Kohl Eyeliner Blackest Black</td>\n",
       "      <td>11.99</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyeliner</td>\n",
       "      <td>5.0</td>\n",
       "      <td>['Canadian', 'Gluten Free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>758</th>\n",
       "      <td>physicians formula</td>\n",
       "      <td>liquid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Physicians Formula's intense and richly pigmen...</td>\n",
       "      <td>192</td>\n",
       "      <td>Physicians Formula Shimmer Strips Kohl Kajal E...</td>\n",
       "      <td>14.79</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyeliner</td>\n",
       "      <td>5.0</td>\n",
       "      <td>['Gluten Free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>761</th>\n",
       "      <td>physicians formula</td>\n",
       "      <td>liquid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Physicians Formula Shimmer Strips Kohl Kajal E...</td>\n",
       "      <td>189</td>\n",
       "      <td>Physicians Formula Shimmer Strips Kohl Kajal E...</td>\n",
       "      <td>14.79</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyeliner</td>\n",
       "      <td>5.0</td>\n",
       "      <td>['Gluten Free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>767</th>\n",
       "      <td>e.l.f.</td>\n",
       "      <td>liquid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>e.l.f. Intense Ink Eyeliner quick-dry formula ...</td>\n",
       "      <td>183</td>\n",
       "      <td>e.l.f. Intense Ink Eyeliner</td>\n",
       "      <td>3.99</td>\n",
       "      <td>NaN</td>\n",
       "      <td>eyeliner</td>\n",
       "      <td>5.0</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  brand category currency  \\\n",
       "472                 nyx      NaN      NaN   \n",
       "750            marcelle   liquid      NaN   \n",
       "758  physicians formula   liquid      NaN   \n",
       "761  physicians formula   liquid      NaN   \n",
       "767              e.l.f.   liquid      NaN   \n",
       "\n",
       "                                           description   id  \\\n",
       "472  NYX Mosaic Powder Blush is a medley of that cr...  508   \n",
       "750  \\r\\n        Marcelle Kajal Kohl Eyeliner is of...  201   \n",
       "758  Physicians Formula's intense and richly pigmen...  192   \n",
       "761  Physicians Formula Shimmer Strips Kohl Kajal E...  189   \n",
       "767  e.l.f. Intense Ink Eyeliner quick-dry formula ...  183   \n",
       "\n",
       "                                                  name  price price_sign  \\\n",
       "472                   NYX Mosaic Powder Blush Paradise  10.49        NaN   \n",
       "750        Marcelle Kajal Kohl Eyeliner Blackest Black  11.99        NaN   \n",
       "758  Physicians Formula Shimmer Strips Kohl Kajal E...  14.79        NaN   \n",
       "761  Physicians Formula Shimmer Strips Kohl Kajal E...  14.79        NaN   \n",
       "767                        e.l.f. Intense Ink Eyeliner   3.99        NaN   \n",
       "\n",
       "    product_type  rating                     tag_list  \n",
       "472      bronzer     5.0                           []  \n",
       "750     eyeliner     5.0  ['Canadian', 'Gluten Free']  \n",
       "758     eyeliner     5.0              ['Gluten Free']  \n",
       "761     eyeliner     5.0              ['Gluten Free']  \n",
       "767     eyeliner     5.0                           []  "
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sort_values(by='rating', ascending=False).head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_type</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>bronzer</th>\n",
       "      <td>22.738841</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyebrow</th>\n",
       "      <td>20.963542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>foundation</th>\n",
       "      <td>20.672407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeshadow</th>\n",
       "      <td>17.978929</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>blush</th>\n",
       "      <td>17.155395</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lipstick</th>\n",
       "      <td>14.517647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mascara</th>\n",
       "      <td>14.193596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nail_polish</th>\n",
       "      <td>12.901500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eyeliner</th>\n",
       "      <td>12.624014</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lip_liner</th>\n",
       "      <td>9.859655</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  price\n",
       "product_type           \n",
       "bronzer       22.738841\n",
       "eyebrow       20.963542\n",
       "foundation    20.672407\n",
       "eyeshadow     17.978929\n",
       "blush         17.155395\n",
       "lipstick      14.517647\n",
       "mascara       14.193596\n",
       "nail_polish   12.901500\n",
       "eyeliner      12.624014\n",
       "lip_liner      9.859655"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.groupby(['product_type'])[['price']].mean().sort_values('price', ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2.groupby(['product_type'])[['price']].mean().sort_values('price', ascending=False).plot(kind='bar', \n",
    "                                                color=['violet'], title='The average price of each product type')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It is seen that average price of products are similar."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Cleaning data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Missing data in each column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "brand            12\n",
       "category        424\n",
       "currency        563\n",
       "description      25\n",
       "id                0\n",
       "name              0\n",
       "price            14\n",
       "price_sign      563\n",
       "product_type      0\n",
       "rating          591\n",
       "tag_list          0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>brand</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>product_type</th>\n",
       "      <th>rating</th>\n",
       "      <th>tag_list</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>Lippie Pencil</td>\n",
       "      <td>5.0</td>\n",
       "      <td>lip_liner</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>Blotted Lip</td>\n",
       "      <td>5.5</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>Lippie Stix</td>\n",
       "      <td>5.5</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>colourpop</td>\n",
       "      <td>No Filter Foundation</td>\n",
       "      <td>12.0</td>\n",
       "      <td>foundation</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Vegan', 'cruelty free']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>boosh</td>\n",
       "      <td>Lipstick</td>\n",
       "      <td>26.0</td>\n",
       "      <td>lipstick</td>\n",
       "      <td>NaN</td>\n",
       "      <td>['Organic', 'Chemical Free']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       brand                  name  price product_type  rating  \\\n",
       "0  colourpop         Lippie Pencil    5.0    lip_liner     NaN   \n",
       "1  colourpop           Blotted Lip    5.5     lipstick     NaN   \n",
       "2  colourpop           Lippie Stix    5.5     lipstick     NaN   \n",
       "3  colourpop  No Filter Foundation   12.0   foundation     NaN   \n",
       "4      boosh              Lipstick   26.0     lipstick     NaN   \n",
       "\n",
       "                       tag_list  \n",
       "0     ['Vegan', 'cruelty free']  \n",
       "1     ['Vegan', 'cruelty free']  \n",
       "2     ['Vegan', 'cruelty free']  \n",
       "3     ['Vegan', 'cruelty free']  \n",
       "4  ['Organic', 'Chemical Free']  "
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# delate unnecessary columns\n",
    "df_new= df.drop(['category','currency', 'description', 'id', 'price_sign'], axis=1)\n",
    "df_new.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "#delate rows with missing data \n",
    "df_new.dropna(subset=['brand'], inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Completing missing values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16.448066298342507"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean_df = df_new['price'].mean()\n",
    "mean_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_new['price'] = df_new['price'].fillna(mean_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_new['rating'] = df_new['rating'].fillna('0')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      587\n",
       "5.0     84\n",
       "4.0     52\n",
       "4.5     27\n",
       "4.3     23\n",
       "4.8     21\n",
       "4.7     17\n",
       "4.4     15\n",
       "4.6     13\n",
       "3.0     13\n",
       "4.2     12\n",
       "3.8      9\n",
       "2.5      6\n",
       "3.9      5\n",
       "3.7      5\n",
       "4.1      5\n",
       "3.3      5\n",
       "4.9      5\n",
       "2.0      4\n",
       "3.4      3\n",
       "3.5      3\n",
       "1.5      1\n",
       "2.6      1\n",
       "3.6      1\n",
       "3.2      1\n",
       "3.1      1\n",
       "Name: rating, dtype: int64"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_new['rating'].value_counts().sort_values(ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_new['rating'].value_counts().sort_values(ascending=False).plot(kind='bar', color=['red'], title='Rating')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "brand           0\n",
       "name            0\n",
       "price           0\n",
       "product_type    0\n",
       "rating          0\n",
       "tag_list        0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_new.isnull().sum() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the dataset has no missing values, they have been completed. Missing values in the price column were filled with the average price of the product and in the rating column they were replaced by 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
